<?php
Configure::write('debug', 0);

function addRows($adat, $oKod, $phpExcel, $elteres = false){
	foreach($adat['riportsorok'] as $sor){
		$params = json_decode(unserialize($sor['Riportsor']['params']));
		if(isset($params->osszesito)){
			$style = array(
							'font' => array('bold' => true),
							'fill' => array(
											'type' => PHPExcel_Style_Fill::FILL_SOLID,
											'startcolor' => array('argb' => 'EEEEEEEE')
											)
							);
		}
		else{
			$style = array();
		}
		$osszes = 0;
		$row = array($sor['Riportsor']['megnevezes']);
		foreach($adat['honapok'] as $ho){
			$osszes += $row[] = $adat['beszamolo'][$oKod][$sor['Riportsor']['megnevezes']][$ho];
		}
		//Összesent vagy tény-tervet számítunk?
		$osszes = $elteres ? ($adat['beszamolo'][$oKod][$sor['Riportsor']['megnevezes']][2] -  $adat['beszamolo'][$oKod][$sor['Riportsor']['megnevezes']][1]) : $osszes;
		$row[] = $osszes;
		$this->PhpExcel->addTableRow($row, $style);
	}
}

//lássuk a filet
$this->PhpExcelRrd->loadWorksheet($this->request->data['Riport']['File']['tmp_name']);
$sheetCount = $this->PhpExcelRrd->xls->getSheetCount();
$sheetNames = $this->PhpExcelRrd->xls->getSheetNames();
$sheetKodok = array();

foreach($sheetNames as $i => $sheetName){
	$pos = strpos($sheetName, '_');
	if($pos){
		$kod = substr($sheetName, 0, $pos);
		$sheetKodok[$i] = $kod;
	}
}

$this->PhpExcelRrd->xls->getDefaultStyle()->getNumberFormat()->setFormatCode('# ### ### ##0');

$honap = array('január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december');

foreach($teny['osztalyok'] as $oKod => $osztaly){
	
	$table = array(
		array('label' => 'Megnevezés', 'width' => 25)
	);
	foreach($teny['honapok'] as $ho){
		$table[] = array('label' => $honap[($ho-1)], 'width' => 10);
	}
	$table[] = array('label' => 'Összesen', 'width' => 10);

	if(isset($teny['osztalyok'][$oKod])){				//van tény adatunk az osztállyra
		if(!in_array($oKod, $sheetKodok)){				//de nincs hozzá sheet
			$this->PhpExcelRrd->xls->createSheet();
		}
		else{														//és van hozzá sheet
			//Osztály id, név, tény
			$this->PhpExcelRrd->xls->setActiveSheetIndex(array_search($sheetKodok[$oKod], $sheetKodok));
		}
		$this->PhpExcelRrd->xls->getActiveSheet()->getStyle("A1:C1")->applyFromArray(array("font" => array("bold" => true)));
		$this->PhpExcelRrd->xls->getActiveSheet()->getStyle("A1:C1")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
	
		// heading
		$this->PhpExcelRrd->setRow(3);
		$this->PhpExcelRrd->addTableHeader($table, array('bold' => true, 'h_align' => 'center'));
		addRows($teny, $oKod, $this->PhpExcelRrd);
		$this->PhpExcelRrd->addTableFooter();
		}
}
$this->PhpExcelRrd->xls->setActiveSheetIndex(0);
$this->PhpExcelRrd->output();
?>